Abstract Interpretation over Non-lattice Abstract Domains

نویسندگان

  • Graeme Gange
  • Jorge A. Navas
  • Peter Schachte
  • Harald Søndergaard
  • Peter J. Stuckey
چکیده

Interpretation over Non-Lattice Abstract Domains Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, and Peter J. Stuckey Department of Computing and Information Systems, The University of Melbourne, Victoria 3010, Australia {gkgange,jorge.navas,schachte,harald,pstuckey}@unimelb.edu.au Abstract. The classical theoretical framework for static analysis of programs is abstract interpretation. Much of the power and elegance of that framework rests on the assumption that an abstract domain is a lattice. Nonetheless, and for good reason, the literature on program analysis provides many examples of non-lattice domains, including non-convex numeric domains. The lack of domain structure, however, has negative consequences, both for the precision of program analysis and for the termination of standard Kleene iteration. In this paper we explore these consequences and present general remedies. The classical theoretical framework for static analysis of programs is abstract interpretation. Much of the power and elegance of that framework rests on the assumption that an abstract domain is a lattice. Nonetheless, and for good reason, the literature on program analysis provides many examples of non-lattice domains, including non-convex numeric domains. The lack of domain structure, however, has negative consequences, both for the precision of program analysis and for the termination of standard Kleene iteration. In this paper we explore these consequences and present general remedies.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Language-based Security Abstract Non-interference

Interpretation Consider C = ℘(Z): [Cousot & Cousot’77] C A {0} {0,!1,!2,!3,...} 0! {!2,!3} Abstract domain 0+ ? {0,1,2,3,...} Language-based Security: Abstract Non-Interferece – p.3/32 Abstract Interpretation Consider C = ℘(Z): [Cousot & Cousot’77]Interpretation Consider C = ℘(Z): [Cousot & Cousot’77] Abstract domain C A {0} {0,1,2,3,...} {0,!1,!2,!3,...} 0! {!2,!3} 0+ ?domain C A {0} {0,1,2,3,...

متن کامل

Algorithmic Analysis of Programs with Well Quasi-ordered Domains

Interpretation. The above analysis algorithm can also be phrased in terms of abstract interpretation [CC77, JN94]. We intend to compute the fixpoint +X .I _ pre(X) for a set I S by iteration. Instead of computing this fixpoint in the lattice (2, ) of sets of states, we move to the abstract lattice (M, C =) , where M is the set of canonical subsets of S, and where M C =M$ if C(M) C(M$). The corr...

متن کامل

Donut Domains: Efficient Non-convex Domains for Abstract Interpretation

Program analysis using abstract interpretation has been successfully applied in practice to find runtime bugs or prove software correct. Most abstract domains that are used widely rely on convexity for their scalability. However, the ability to express non-convex properties is sometimes required in order to achieve a precise analysis of some numerical properties. This work combines already know...

متن کامل

Transforming Abstract Interpretations by Abstract Interpretation New Challenges in Language-based Security

In this paper we exploit abstract interpretation for transforming abstract domains and semantics. The driving force in both transformations is making domains and semantics, i.e. abstract interpretations themselves, complete, namely precise, for some given observation. We prove that a common geometric pattern is shared by all these transformations, both at the domain and semantic level. This pat...

متن کامل

Functional Dependencies and Moore-Set Completions of Abstract Interpretations and Semantics

We introduce the notion of functional dependencies of abstract interpretations relatively to a binary operator of composition. Functional dependencies are obtained by a functional composition of abstract domains, and provide a systematic approach to construct new abstract domains. In particular, we study the case of autodependencies, namely monotone operators on a given abstract domain. Under s...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013